home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Creative Computers
/
Creative Computers CD-ROM, Volume 1 (Legendary Design Technologies, Inc.)(1994).iso
/
shareware
/
management
/
screenmod
/
source
/
save.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-11-17
|
2KB
|
84 lines
/********************************************************************\
* SAVE SCREEN SETTINGS *
* for ScreenMod v1.0 *
* *
*Written by Syd L. Bolton ©1991 Legendary Design Technologies Inc.*
* *
* Date: May 4, 1991 Time: 00:35 *
\********************************************************************/
#include "save.h"
save()
{
struct Window *SWindow;
struct IntuiMessage *message;
struct Gadget *igad;
ULONG class;
int gadgid,save_exit=0;
SaveWindow.Screen=Screen;
SWindow=OpenWindow(&SaveWindow);
if (SWindow==NULL) return();
ActivateGadget(&SGadget3,SWindow,NULL);
do {
WaitPort(SWindow->UserPort);
while ( ( message=(struct IntuiMessage *)
GetMsg(SWindow->UserPort) ) != NULL)
{
class=message->Class;
ReplyMsg(message);
if (class==GADGETUP) save_exit=1;
}
} while (save_exit==0);
CloseWindow(SWindow);
igad=(struct Gadget *) message->IAddress;
gadgid=igad->GadgetID;
switch(gadgid) {
case 2: return();
break;
default: saveinfo(SGadget3SIBuff);
break;
}
}
saveinfo(name)
char *name[];
{
FILE *fp;
int i,numcolors,depth;
UWORD color;
fp=fopen(name,"w");
if (fp==NULL) return();
fprintf(fp,"SM1\n");
if (origtitle[0]=='\0') fprintf(fp,"*NN\n");
else fprintf(fp,"%s\n",origtitle);
fprintf(fp,"%4d%4d\n",origwidth,origheight);
fprintf(fp,"%4d%4d%4d%4d%2d%2d\n",atoi(Gadget3SIBuff),atoi(Gadget4SIBuff),atoi(Gadget5SIBuff),atoi(Gadget6SIBuff),atoi(Gadget7SIBuff),atoi(Gadget8SIBuff));
if (Screens[scr]->Title[0]=='\0') fprintf(fp,"*NN\n");
else fprintf(fp,"%s\n",Screens[scr]->Title);
if (Screens[scr]->DefaultTitle[0]=='\0') fprintf(fp,"*NN\n");
else fprintf(fp,"%s\n",Screens[scr]->DefaultTitle);
fprintf(fp,"%6d\n",Screens[scr]->ViewPort.Modes);
depth=Screens[scr]->RastPort.BitMap->Depth;
if (depth > 5) depth=5;
numcolors= 1 << depth;
fprintf(fp,"%2d\n",numcolors);
for (i=0; i<numcolors; i++) {
color=GetRGB4(Screens[scr]->ViewPort.ColorMap,i);
fprintf(fp,"%4d\n",color);
}
fclose(fp);
}